#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

//class Solution {
//public:
//    struct my_Sort
//    {
//        bool operator()(vector<int>& x1, vector<int>& x2)
//        {
//            return x2[0] > x1[0];
//        }
//    };
//
//    bool hostschedule(vector<vector<int>>& schedule) {
//        // write code here
//        int n = schedule.size();
//        sort(schedule.begin(), schedule.end(), my_Sort());
//        for (int i = 0; i < n - 1; i++)
//        {
//            if (schedule[i][1] < schedule[i + 1][0])
//            {
//                return false;
//            }
//        }
//        return true;
//    }
//};
//
//int main()
//{
//    Solution s;
//    vector<vector<int>> schedule;
//    schedule[0][0]=
//    s.hostschedule(schedule);
//    return 0;
//}
//
//bool bf(int left, int right, int n, string& s)
//{
//    int ret = 0;
//    if (s[left] != s[right])
//    {
//        return false;
//    }
//    return true;
//}
//
//int main() {
//    string str;
//    cin >> str;
//    int n = str.size();
//    int ret = 1;
//    for (int i = 1; i < n; i++)
//    {
//        if (bf(i - 1, i, n, str))
//        {
//            ret = 2;
//            break;
//        }
//        if (bf(i - 1, i + 1, n, str))
//        {
//            ret = 3;
//        }
//    }
//    if (ret <= 1)
//    {
//        cout << -1 << endl;
//    }
//    else
//    {
//        cout << ret << endl;
//    }
//    return 0;
//}
//
//int main() {
//    int n;
//    cin >> n;
//    vector<int> arr(n);
//    for (int i = 1; i <= n; i++)
//    {
//        cin >> arr[i];
//    }
//    vector<int> dp(n + 1);
//    dp[1] = arr[1];
//    for (int i = 2; i <= n; i++)
//    {
//        dp[i] = max(dp[i - 1], dp[i - 2] + arr[i]);
//    }
//    cout << dp[n] << endl;
//    return 0;
//}


int main() {
    int n;
    cin >> n;
    vector<int> arr(n);
    int sum = 0;
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
        sum += arr[i];
    }
    if (sum % 2)
    {
        cout << "false" << endl;
        return 0;
    }
    int mid = sum / 2;
    vector<int> dp(mid + 1);
    for (int i = 0; i < n; i++)
    {
        for (int j = mid; j >= arr[i]; j--)
        {
            dp[j] = max(dp[j], (dp[j - arr[i]] + arr[i]));
        }
    }
    if (dp[mid] == mid)
    {
        cout << "true" << endl;
    }
    else
    {
        cout << "false" << endl;
    }
    return 0;
}